namespace Digitalmes.Domain.Entities.Mes.Productions;

/// <summary>
/// 工艺步骤过程数据。
/// </summary>
[SugarTable("prod_step_data")]
public sealed class ProdStepData : EntityBase
{
    /// <summary>
    /// 工艺步骤执行记录 Id。
    /// </summary>
    public long ExecutionId { get; set; }

    /// <summary>
    /// 顺序索引，没有默认为 0。
    /// </summary>
    public int Index { get; set; }

    /// <summary>
    /// 参数名称
    /// </summary>
    [NotNull]
    public string? ParamName { get; set; } = string.Empty;

    /// <summary>
    /// 参数编码
    /// </summary>
    [NotNull]
    public string? ParamCode { get; set; } = string.Empty;

    /// <summary>
    /// 值（文本类型），null 表示结果不带值。
    /// </summary>
    public string? Text { get; set; }

    /// <summary>
    /// 单位
    /// </summary>
    public string? Unit { get; set; }

    /// <summary>
    /// 判定结果（OK/NG），默认为空。
    /// </summary>
    [NotNull]
    public string? Result { get; set; } = string.Empty;

    /// <summary>
    /// 创建时间
    /// </summary>
    /// <remarks>用于分表使用。</remarks>
    [SplitField]
    public DateTime CreateTime { get; set; } = DateTime.Now;
}
